package service;

import java.util.ArrayList;

import bean.Provincia;
import bean.VOList;
import bean.vo.ProvinciaVO;

@SuppressWarnings({"unchecked"})
public class ServiciosProvincia {
	
	protected static Provincia buscarProvincia (String nombre) throws Exception {
		Provincia provincia = (Provincia) SistemaCVR.getInstancia().buscarEntidad(new Provincia(nombre));
		return provincia;
	}
	
	public static ProvinciaVO buscarProvincia (ProvinciaVO p) throws Exception {
		Provincia provincia = ServiciosProvincia.buscarProvincia(p.getNombre());
		return provincia != null ? provincia.getVO() : null;
	}
	
	public static ArrayList <ProvinciaVO> getProvincias() throws Exception{
		return new VOList<ProvinciaVO>().getVoList(SistemaCVR.getInstancia().getEntidades(Provincia.class.getName()));
	}
	
	public static void crearProvincia (ProvinciaVO p) throws Exception {
		if (ServiciosProvincia.buscarProvincia(p) == null) {
			Provincia provincia = new Provincia(p.getNombre());
			SistemaCVR.getInstancia().agregarEntidad(provincia);
		} else {
			throw new Exception("ERROR - Ya existe una Provincia con el nombre ingresado.");
		}
	}
	
	public static void eliminarProvincia (ProvinciaVO p) throws Exception {
		Provincia provincia = ServiciosProvincia.buscarProvincia(p.getNombre());
		if (provincia != null ){
			SistemaCVR.getInstancia().eliminarEntidad(provincia);
		} else
		{
			throw new Exception("ERROR - No existe una Provincia con el nombre ingresado.");
		}
	}
}
